/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.apresentacao.objeto;

import byblos.apresentacao.idioma.InterceptadorIdioma;
import byblos.apresentacao.usuario.InterceptadorCategoriaUsuario;
import byblos.negocio.NegocioExcecao;
import byblos.negocio.objeto.Objeto;
import byblos.negocio.objeto.TipoObjeto;
import byblos.negocio.usuario.CategoriaUsuario;
import byblos.negocio.usuario.Usuario;
import byblos.persistencia.DAO;
import javax.servlet.http.HttpServletRequest;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.In;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Logic;
import org.vraptor.annotations.Out;

/**
 *
 * @author Marco Aurélio
 */
@Component
@InterceptedBy(value = {InterceptadorIdioma.class, InterceptadorCategoriaUsuario.class})
public class ObjetoRemoverComponent {

//    @In
//    private Usuario usuario;
    @In
    private HttpServletRequest request;
    @Out
    private String mensagemErro;

    @Logic(parameters = {"id", "tipo"})
    public String remover(int id, TipoObjeto tipo) {
        Objeto objeto = new DAO().localizar(Objeto.class, id);
//        if (objeto.getTipo() == TipoObjeto.PACOTE) {
//            if (!(usuario.getCategoria() == CategoriaUsuario.ADMINISTRADOR)) {
//                mensagemErro = "Usuário sem permissão para tal tarefa!";
//                return "semPermissao";
//            }
//        }
        if (objeto == null) {
            throw new NegocioExcecao("Não foi possível localizar o objeto " + id);
        }
        new DAO().remover(objeto);
        return "ok";
    }
}
